Toss tiny line when reading gpsutil files.
authorrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Thu, 20 Jul 2006 20:55:21 +0000 (20:55 +0000)
committerrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Thu, 20 Jul 2006 20:55:21 +0000 (20:55 +0000)
gpsbabel/gpsutil.c

index 768fc5e6fb75fbb548af511a149c090afcc7a89c..ed82be57c56f703a73fc70b735e7f1b173f1e6d6 100644 (file)
@@ -75,12 +75,17 @@ data_read(void)
        tin = textfile_init(file_in);
 
        while ((ibuf = textfile_read(tin))) {
+               int n;
        /*  A sharp in column zero or an blank line is a comment */
                ibuf = lrtrim(ibuf);
                if (ibuf[0] == '#' || ibuf[0] == '\n') continue;
-               sscanf(ibuf, "%s %le%c %le%c %ld%c %30[^,] %c",
+               n = sscanf(ibuf, "%s %le%c %le%c %ld%c %30[^,] %c",
                        name, &lat, &latdir, &lon, &londir,
                        &alt, &alttype, desc, icon);
+               /* Require at least first threee fields, otherwise ignore */
+               if (n < 3) { 
+                       continue;
+               }
                desc[0] = '\0';
                icon[0] = '\0';
                sscanf(&ibuf[39], "%30c", desc);